/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package handler;

import dao.UsuarioDao;
import entidades.Usuario;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import javax.persistence.NoResultException;

/**
 *
 * @author PARTICULAR
 */
@Named(value = "loginHandler")
@SessionScoped
public class LoginHandler implements Serializable {

    private UsuarioDao usuariodao = new UsuarioDao();
    private Usuario usuario = new Usuario();

    public LoginHandler() {
        try {
            usuario = (Usuario) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario");
        } finally {
            usuario = new Usuario();
            usuario.setId(0L);
        }
    }

    public UsuarioDao getUsuariodao() {
        return usuariodao;
    }

    public void setUsuariodao(UsuarioDao usuariodao) {
        this.usuariodao = usuariodao;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public String validaLogin() {
        try {
            usuario = usuariodao.existe(usuario);
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario", usuario);
            return "index2.xhtml?faces-redirect=true";
        } catch (NoResultException e) {
            usuario = new Usuario();
            return "LoginInvalido.xhtml";
        }
    }

    public String sair() {
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario", null);
        return "index.xhtml?faces-redirect=true";
    }
}
